package org.example;

/**
 * JUnitCalculator类 - 用于JUnit测试的计算器类
 * 学生姓名：易信志
 * 学号：202411671429
 */
public class JUnitCalculator {
    private String name; // 姓名
    private int no; // 学号后4位

    /**
     * 默认构造函数
     */
    public JUnitCalculator() {
    }

    /**
     * 带参数的构造函数
     * 
     * @param name 姓名
     * @param no   学号后4位
     */
    public JUnitCalculator(String name, int no) {
        this.name = name;
        this.no = no;
    }

    /**
     * 获取姓名
     * 
     * @return 姓名
     */
    public String getName() {
        return name;
    }

    /**
     * 设置姓名
     * 
     * @param name 姓名
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取学号后4位
     * 
     * @return 学号后4位
     */
    public int getNo() {
        return no;
    }

    /**
     * 设置学号后4位
     * 
     * @param no 学号后4位
     */
    public void setNo(int no) {
        this.no = no;
    }

    /**
     * 加法运算
     * 功能：返回学号后4位与参数的和
     * 
     * @param num 要相加的数字
     * @return 学号后4位 + 参数
     */
    public int add(int num) {
        return this.no + num;
    }

    /**
     * 减法运算
     * 功能：返回学号后4位与参数的差
     * 
     * @param num 要相减的数字
     * @return 学号后4位 - 参数
     */
    public int sub(int num) {
        return this.no - num;
    }

    /**
     * 重写toString方法
     * 
     * @return 对象的字符串表示
     */
    @Override
    public String toString() {
        return "JUnitCalculator{" +
                "name='" + name + '\'' +
                ", no=" + no +
                '}';
    }
}
